#pragma once

// 设计 链表结点
typedef struct LINKNODE {
    struct LINKNODE* next;
}LinkNode;

// 设计链表起点
typedef struct LINKSTACK {
    LinkNode head;   // 链表头
    int size;   // 链表中结点个数
}LinkStack;

// 初始化
LinkStack* Init_LinkStack();

// 入栈: 把 dt 插入到链表的头部
int Push_LinkStack(LinkStack* stack, LinkNode* dt);

// 获得栈顶元素
LinkNode* front_LinkStack(LinkStack* stack);

// 出栈  --> 删除栈顶元素
int Pop_LinkStack(LinkStack* stack);

// 获得栈中元素个数
int GetSize_LinkStack(LinkStack* stack);

// 清空栈
int Clear_LinkStack(LinkStack* stack);

// 销毁栈
int Destroy_LinkStack(LinkStack* stack);